import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { NqdiiRoutingModule } from './nqdii-routing.module';
import { ViewComponent } from './list/view/view.component';
import { RecordComponent } from './list/record/record.component';
import { ModifyComponent } from './list/modify/modify.component';
import { ReviewComponent } from './list/review/review.component';
import { DataInTransitComponent } from './list/data-in-transit/data-in-transit.component';
import { EntryListComponent } from './content/entry-list/entry-list.component';
import { FormsModule } from '@angular/forms';
import { AppPaginationModule } from '../../../widgets/pagination/pagination.module';
import { FlowInfoComponent } from './modal/flow-info/flow-info.component';
import { EntryHistoryComponent } from './modal/entry-history/entry-history.component';
import * as flatpickr from 'flatpickr';
import { FlatpickrModule, FLATPICKR } from '../../../../assets/angularx-flatpickr';
import { NewChangeInfoComponent } from './modal/new-change-info/new-change-info.component';
import { ContrastInfoComponent } from './modal/contrast-info/contrast-info.component';
import { EntryChangeComponent } from './modal/entry-change/entry-change.component';
import { ReviewBackComponent } from './modal/review-back/review-back.component';
import { CustomFormsModule } from 'ng2-validation';
import { InputModeComponent } from './content/input-mode/input-mode.component';
import { RouteModeComponent } from './content/route-mode/route-mode.component';
import { BatchModeComponent } from './content/batch-mode/batch-mode.component';
import { RemindComponent } from './content/remind/remind.component';
import { ViewDetailComponent } from './modal/view-detail/view-detail.component';
import { ReadingNotesComponent } from './modal/reading-notes/reading-notes.component';
import { CommitComponent } from './modal/commit/commit.component';
import { SearchRemindComponent } from './modal/search-remind/search-remind.component';
import { ApplyFundGroupComponent } from './modal/apply-fund-group/apply-fund-group.component';
import { RevokeComponent } from './modal/revoke/revoke.component';
import { HistoryChangeComponent } from './modal/history-change/history-change.component';
import { RouteDetailComponent } from './content/route-detail/route-detail.component';
import { MultiSelectModule } from 'primeng/components/multiselect/multiselect';
import { SubmitComponent } from './modal/submit/submit.component';
import { RouteRevokeComponent } from './modal/route-revoke/route-revoke.component';
import { RouteSearchComponent } from './modal/route-search/route-search.component';
import { ViewSearchComponent } from './modal/view-search/view-search.component';
import { FileUploadModule } from 'ng2-file-upload';
import { ViewPageComponent } from './content/view-page/view-page.component';
import { ReviewPageComponent } from './content/review-page/review-page.component';
import { ModifyPageComponent } from './content/modify-page/modify-page.component';
import { RecordPageComponent } from './content/record-page/record-page.component';
import { DataInTransitPageComponent } from './content/data-in-transit-page/data-in-transit-page.component';
import { TablePageComponent } from './table/table-page/table-page.component';
export function flatpickrFactory() {
  return flatpickr;
}
@NgModule({
  imports: [
    CommonModule,
    NqdiiRoutingModule,
    FormsModule,
    AppPaginationModule,
    MultiSelectModule,
    CustomFormsModule,
    FileUploadModule,
    FlatpickrModule.forRoot({
      provide: FLATPICKR,
      useFactory: flatpickrFactory
    })
  ],
  declarations: [
    ViewComponent,
    RecordComponent,
    ModifyComponent,
    ReviewComponent,
    DataInTransitComponent,
    EntryListComponent,
    FlowInfoComponent,
    EntryHistoryComponent,
    NewChangeInfoComponent,
    ContrastInfoComponent,
    EntryChangeComponent,
    ReviewBackComponent,
    InputModeComponent,
    RouteModeComponent,
    BatchModeComponent,
    RemindComponent,
    ViewDetailComponent,
    ReadingNotesComponent,
    CommitComponent,
    SearchRemindComponent,
    ApplyFundGroupComponent,
    RevokeComponent,
    HistoryChangeComponent,
    RouteDetailComponent,
    SubmitComponent,
    RouteRevokeComponent,
    RouteSearchComponent,
    ViewSearchComponent,
    ViewPageComponent,
    ReviewPageComponent,
    ModifyPageComponent,
    RecordPageComponent,
    DataInTransitPageComponent,
    TablePageComponent],
  entryComponents: [
    EntryListComponent,
    FlowInfoComponent,
    EntryHistoryComponent,
    NewChangeInfoComponent,
    ContrastInfoComponent,
    EntryChangeComponent,
    ReviewBackComponent,
    InputModeComponent,
    RouteModeComponent,
    BatchModeComponent,
    RemindComponent,
    ViewDetailComponent,
    ReadingNotesComponent,
    CommitComponent,
    SearchRemindComponent,
    ApplyFundGroupComponent,
    RevokeComponent,
    HistoryChangeComponent,
    RouteDetailComponent,
    SubmitComponent,
    RouteRevokeComponent,
    RouteSearchComponent,
    ViewSearchComponent,
    ViewPageComponent,
    ReviewPageComponent,
    ModifyPageComponent,
    RecordPageComponent,
    DataInTransitPageComponent,
    TablePageComponent]
})
export class NqdiiModule { }
